#include "Shm.hpp"
#include "Fifo.hpp"

int main()
{
    Shm shm(PATH,prev,prev,1024,USER);
    shm.Get();

    Fifo_Make ff(FIFO_FILE);
    Fifo_Oper fo(FIFO_FILE);

    int i = 0;
    int end = 0;

    char* mem = shm.VitualPtr();

    for(char c = 'A';c <= 'Z';++c,end += 2)
    {
        sleep(1);
        mem[end] = c;
        mem[end + 1] = c;
        mem[end + 2] = 0;
        sleep(1);
        fo.WakeUp();
    }

    fo.Close();
    ff.Close();

    return 0;
}

// int main()
// {
//     // 获取控制共享内存的标示符。
//     int shmid = shmget(ftok(PATH,proj),1024,IPC_CREAT | gmode);
//      // 共享内存的唯一标识 / 大小 / 选项 + 权限/
//     if(shmid < 0)
//     {
//         ERR_EXIT("shmget");
//     }

//     // 关联共享内存。
//     char* mem = (char*)shmat(shmid,nullptr,0);
//      // 共享内存标识符 / 虚拟地址（获取信息） / 权限

//     for(char c = 'A';c <= 'Z';++c)
//     {
//         mem[c - 'A'] = c;
//         sleep(1);
//     }

//     return 0;
// }